import Vue from 'vue';
import Router from 'vue-router';
import MainView from '@/views/MainView.vue';
import DashBoard from '@/components/DashBoard.vue';
import { 
  CarStatus, CarScheduling, DeviceStatus, 
  CurrentDeviceStatus, CremationScheduling, 
  PackageConfiguration, PriceManagement, 
  EvaluationManagement, ReservationService, 
  TimetableDisplay, SiteReservation, 
  SiteUsageStatistics, FeeRecords, 
  FinancialReports, FeeReminders, 
  InventoryManagement, WhiteEventConfiguration, 
  CustomerInformation, PartnerInformation, 
  PermissionManagement, InformationManagement, 
  SchedulingManagement 
} from '@/views/index.js';

Vue.use(Router);

export default new Router({
  routes: [
    {
      path: '/',
      name: 'MainView',
      component: MainView,
      children: [
        { path: '', component: DashBoard },
        { path: 'funeral-management/car-status', component: CarStatus },
        { path: 'funeral-management/car-scheduling', component: CarScheduling },
        { path: 'funeral-management/device-status', component: DeviceStatus },
        { path: 'funeral-management/current-device-status', component: CurrentDeviceStatus },
        { path: 'funeral-management/cremation-scheduling', component: CremationScheduling },
        { path: 'funeral-management/package-configuration', component: PackageConfiguration },
        { path: 'funeral-management/price-management', component: PriceManagement },
        { path: 'funeral-management/evaluation-management', component: EvaluationManagement },
        { path: 'reservation-management/reservation-service', component: ReservationService },
        { path: 'reservation-management/timetable-display', component: TimetableDisplay },
        { path: 'site-management/site-reservation', component: SiteReservation },
        { path: 'site-management/site-usage-statistics', component: SiteUsageStatistics },
        { path: 'financial-management/fee-records', component: FeeRecords },
        { path: 'financial-management/financial-reports', component: FinancialReports },
        { path: 'financial-management/fee-reminders', component: FeeReminders },
        { path: 'value-added-management/inventory-management', component: InventoryManagement },
        { path: 'value-added-management/white-event-configuration', component: WhiteEventConfiguration },
        { path: 'customer-partner-management/customer-information', component: CustomerInformation },
        { path: 'customer-partner-management/partner-information', component: PartnerInformation },
        { path: 'personnel-management/permission-management', component: PermissionManagement },
        { path: 'personnel-management/information-management', component: InformationManagement },
        { path: 'personnel-management/scheduling-management', component: SchedulingManagement },
      ],
    },
  ],
});
